# 1. 《风袖》全栈课API文档说明
# 课程说明
本API为《风袖》全栈课提供API数据,数据仅供学习。
可访问慕课网https://class.imooc.com/sale/javafullstack购买本全栈课
全栈课分为4个阶段:高级电商小程序、Java SpringBoot、Vue和Java CMS
CMS项目地址请访问http://sleeve.talelin.com
# API说明
API设有频率限制请不要恶意调用
如要使用本API,请前往 https://talelin.com获取开发者key,所有API调用均需要携带开发者key
无论是提交数据还是返回数据只支持json,不支持xml
所有API均支持跨域,目前不做任何限制,后期根据情况可能会限制跨域访问
API遵从严格的HTTP动作并采用标准的 Http Status Code 作为响应状态, 建议采用HTTP状态码作为API调用是否成功的标识,具体异常请通过错误码判断。
API目前仅支持HTTP,不支持HTTPS,在开发小程序时,请在小程序项目设置中勾选“不校验HTTPS证书”
# 友情提示
# Host主机名
所有API均只给出Path Url部分,请自行在Url前面附加主机名。
Host: http://se.talelin.com
GET /v1/banner/id/{id}
完整API URL为:
GET http://se.talelin.com/v1/banner/name/b-3
# 如何使用开发者Key(appkey)访问API?
目前所有API的调用均需要使用开发者key。请访问: (http://www.talelin.com)[http://www.talelin.com] 来获取开发者key。使用如下方式携带appkey的方式:
- 将开发者key加入到Http的Header里:
GET http://bl.talelin.com/v1/classic/latest
Headers appkey: zCr1cdeqweq
# 关于返回JSON结果的字段名称是Snake还是Camel的问题
API均以Snake下划线的形式返回JSON数据,如spu_list
事实上,驼峰更适合JS处理,但可读性比Snake要差很多。大多数标准API均以Snake形式返回Json数据。
使用SpringBoot开发时,可以在配置文件中增加Jackson或者fastjson的配置项即可在两种风格间切换。
关于Post提交数据
提交数据也需要使用snake形式的命名来提交json
# 关于404的说明
404 在Restful中有比较特殊的意义,除了Url地址错误外,404也表示没有找到请求的资源。
《风袖》做了一个统一的约定,对于单个资源(非集合类型)如果没有找到资源,那么将返回一个404的异常信息。
而如果是集合资源未找到,API并不会返回异常,而是会返回一个空数组 [],状态码为200
如果是分页请求集合资源,当资源不存在时,将返回一个Pagable
对象,包含一系列的分页信息,状态码为200
之所以没有严格按照Restful的标准是因为,对于集合类型的请求如果不保持数组或者类似数组的返回结果,这会让前端非常难以处理。
# 分页参数
服务器部分接口支持分页获取,分页参数需要通过url的query参数形式来传递。移动端通常不需要知道具体的页数,所以分页参数形式如下:
start 获取记录的起始序号
count 一次获取记录的条数
最大支持一次获取10条记录。 比如请求search接口时,url形式如下:
GET
v1/search?q=林白&start=0&count=10
2
当然也可以不传start和count参数,这种情况下服务端默认start=0,count=10。服务端将返回以下结构的JSON数据:
{
"total":1,
"count":10,
"page":0,
"total_page":1,
"items":[
{
"id":8,
"title":"ins复古翠绿NoteBook",
"subtitle":"林白默默的掏出小本本,将她说的话一次不漏的记了下来。",
"img":"",
"for_theme_img":"",
"price":"29.99",
"discount_price":"27.8",
"description":null,
"tags":"林白推荐",
"sketch_spec_id":"1",
"max_purchase_quantity":null,
"min_purchase_quantity":null
}
]
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23